/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package component;

import controlP5.ControlP5;
import controlP5.Slider;
import controlP5.Textlabel;
import processing.core.PApplet;

/**
 *
 * @author Caliste
 */
public abstract class ASoundProgressBar 
{
    protected Slider      _timeLine;
    protected Textlabel   _tlSoundTimer;
    protected PApplet     _app;
    protected ControlP5   _cp5;
    
    public ASoundProgressBar(PApplet mainApp, ControlP5 cp5)
    {
        _app = mainApp;
        _cp5 = cp5;
    }
    
    /**
     * Cette methode permet d'initialiser
     * la position du composant TimeLine.
     * @param f
     * @param f1 
     */
    public abstract void SetPositionTimeLine(float f, float f1);
//    {
//        _timeLine.setPosition(f, f1);
//    }
    
    /**
     * Cette methode permet d'initialiser
     * la position du composant SoundTimerLabel.
     * @param f
     * @param f1 
     */
    public abstract void SetPositionSoundTimerLabel(float f, float f1);
//    {
//        _tlSoundTimer.setPosition(f, f1);
//    }
    
    /**
     * Cette methode permet de recuperer
     * le Slide correspondant à la progresse
     * barre de la musique.
     * @return Slider
     */
    public abstract Slider getTimeLine(); 
//    {
//        return _timeLine;
//    }

    /**
     * Cette methode permet de mettre
     * a jour les valeurs de la propriete
     * Range de l'objet "TimeLine" (Slider)
     * @param f
     * @param f1 
     */
    public abstract void setRangeTimeLine(float f, float f1);
//    {
//        _timeLine.setRange(f, f1);
//    }
    
    /**
     * Cette methode retourne
     * le composant Textlabel associer
     * au soundTimer. Afin de mettre
     * a jour la valeur en fonction du temps restant
     * du piste en lecture.
     * @return the _tlSoundTimer
     */
    public abstract Textlabel getTlSoundTimer();
//    {
//        return _tlSoundTimer;
//    }
}
